home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / g_quake / compv09b.zip / C.BAT < prev    next >
DOS Batch File  |  1996-09-27  |  5KB  |  250 lines

  1. @echo off
  2. :start
  3. if "%1"=="" goto noparams
  4. if "%1"=="-novis" goto novis
  5. if "%1"=="-NOVIS" goto novis
  6. if "%1"=="-nolight" goto nolight
  7. if "%1"=="-NOLIGHT" goto nolight
  8. if "%1"=="-noqbsp" goto noqbsp
  9. if "%1"=="-NOQBSP" goto noqbsp
  10. if "%1"=="vis" goto vis
  11. if "%1"=="VIS" goto vis
  12. if "%1"=="light" goto light
  13. if "%1"=="LIGHT" goto light
  14. if "%1"=="qbsp" goto qbsp
  15. if "%1"=="QBSP" goto qbsp
  16. goto compile
  17. :noparams
  18. if "%compiled%"=="yes" goto end
  19. echo.
  20. echo C needs at least one file name to work properly. Read c.txt for extra details.
  21. echo.
  22. goto end
  23. :novis
  24. set vis=off
  25. shift
  26. goto start
  27. :nolight
  28. set light=off
  29. shift
  30. goto start
  31. :noqbsp
  32. set qbsp=off
  33. shift
  34. goto start
  35.  
  36. :vis
  37. if "%vis%"=="off" goto viserr_off
  38. if "%vu%"=="on" goto viserr_set
  39. set vis=>>nul
  40. set vu=on
  41. :vis_test
  42. shift
  43. if "%1"=="-level" goto vis_level
  44. if "%1"=="-LEVEL" goto vis_level
  45. if "%1"=="-threads" goto vis_threads
  46. if "%1"=="-THREADS" goto vis_threads
  47. if "%1"=="-fast" goto vis_fast
  48. if "%1"=="-FAST" goto vis_fast
  49. if "%1"=="-v" goto vis_v
  50. if "%1"=="-V" goto vis_v
  51. goto start
  52. :vis_level
  53. shift
  54. echo %vis% |find "-fast" >>nul
  55. if errorlevel 1 goto vis_level_go
  56. if errorlevel 0 goto visfast_err
  57. :vis_level_go
  58. if "%1"=="1" set l=1
  59. if not "%1"=="1" set s=1
  60. if "%1"=="2" set l=2
  61. if not "%1"=="2" set s=2
  62. if "%1"=="3" set l=3
  63. if not "%1"=="3" set s=3
  64. if "%1"=="4" set l=4
  65. if not "%1"=="4" set s=4
  66. if s=4 goto viserr
  67. set vis=%vis% -level %s%
  68. goto vis_test
  69. :vis_threads
  70. shift
  71. if "%1"=="1" set vl=1
  72. if not "%1"=="1" set vs=1
  73. if "%1"=="2" set vl=2
  74. if not "%1"=="2" set vs=2
  75. if "%1"=="3" set vl=3
  76. if not "%1"=="3" set vs=3
  77. if "%1"=="4" set vl=4
  78. if not "%1"=="4" set vs=4
  79. if vs=4 goto viserr
  80. set vis=%vis% -threads %vl%
  81. goto vis_test
  82. :vis_fast
  83. set vis=%vis% -fast
  84. goto vis_test
  85. :vis_v
  86. set vis=%vis% -v
  87. goto vis_test
  88. :viserr_set
  89. echo.
  90. echo  You've already SET vis! Only issue commands once, otherwise they'll smeg up.
  91. echo.
  92. goto end
  93. :viserr_off
  94. echo.
  95. echo             You've already turned OFF vis! Make up your mind...  ;)
  96. echo.
  97. goto end
  98. :visfast_err
  99. echo.
  100. echo      You can either specify "vis -fast" or "vis -level[1-4]", not both.
  101. echo.
  102. goto end
  103. :viserr
  104. echo.
  105. echo  Invalid VIS command! Look over the command line you issued, and correct it!
  106. echo.
  107. goto end
  108.  
  109.  
  110.  
  111. :light
  112. if "%light%"=="off" goto lighterr_off
  113. if "%lu%"=="on" goto lighterr_set
  114. if not "%lu%"=="on" set light=>>nul
  115. set lu=on
  116. :light_test
  117. shift
  118. if "%1"=="-threads" goto light_threads
  119. if "%1"=="-extra" goto light_extra
  120. goto start
  121. :light_threads
  122. shift
  123. if "%1"=="1" set ll=1
  124. if not "%1"=="1" set ls=1
  125. if "%1"=="2" set ll=2
  126. if not "%1"=="2" set ls=2
  127. if "%1"=="3" set ll=3
  128. if not "%1"=="3" set ls=3
  129. if "%1"=="4" set ll=4
  130. if not "%1"=="4" set ls=4
  131. if ls=4 goto lighterr
  132. set light=%light% -threads %ll%
  133. goto light_test
  134. :light_extra
  135. set light=%light% -extra
  136. goto light_test
  137. :lighterr_off
  138. echo.
  139. echo             You've already turned OFF light! Make up your mind...  ;)
  140. echo.
  141. goto end
  142. :lighterr_set
  143. echo.
  144. echo You've already SET light! Only issue commands once, otherwise they'll smeg up.
  145. echo.
  146. goto end
  147. :lighterr
  148. echo.
  149. echo Invalid LIGHT command! Look over the command line you issued, and correct it!
  150. echo.
  151. goto end
  152.  
  153. :qbsp
  154. if "%qbsp%"=="on" set qbsp=>>nul
  155. if "%qbsp%"=="off" goto qbsperr_off
  156. if "%qu%"=="on" goto qbsperr_set
  157. set qu=on
  158. goto qtest
  159. :qbsp_test
  160. shift
  161. :qtest
  162. if "%1"=="-draw" goto qbsp_draw
  163. if "%1"=="-notjunc" goto qbsp_notjunc
  164. if "%1"=="-nofill" goto qbsp_nofill
  165. if "%1"=="-noclip" goto qbsp_noclip
  166. if "%1"=="-onlyents" goto qbsp_onlyents
  167. if "%1"=="-verbose" goto qbsp_verbose
  168. if "%1"=="-usehulls" goto qbsp_usehulls
  169. if "%1"=="-proj" goto qbsp_proj
  170. goto start
  171. :qbsp_draw
  172. echo %qbsp% |find "-draw"
  173. if errorlevel 1 goto qbsperr_multopt
  174. set qbsp=%qbsp% -draw
  175. goto qbsp_test
  176. :qbsp_notjunc
  177. echo %qbsp% |find "-notjunc"
  178. if errorlevel 1 goto qbsperr_multopt
  179. set qbsp=%qbsp% -notjunc
  180. goto qbsp_test
  181. :qbsp_nofill
  182. echo %qbsp% |find "-nofill"
  183. if errorlevel 1 goto qbsperr_multopt
  184. set qbsp=%qbsp% -nofill
  185. goto qbsp_test
  186. :qbsp_noclip
  187. echo %qbsp% |find "-noclip"
  188. if errorlevel 1 goto qbsperr_multopt
  189. set qbsp=%qbsp% -noclip
  190. goto qbsp_test
  191. :qbsp_onlyents
  192. echo %qbsp% |find "-onlyents"
  193. if errorlevel 1 goto qbsperr_multopt
  194. set qbsp=%qbsp% -onlyents
  195. goto qbsp_test
  196. :qbsp_verbose
  197. echo %qbsp% |find "-verbose"
  198. if errorlevel 1 goto qbsperr_multopt
  199. set qbsp=%qbsp% -verbose
  200. goto qbsp_test
  201. :qbsp_usehulls
  202. echo %qbsp% |find "-usehulls"
  203. if errorlevel 1 goto qbsperr_multopt
  204. set qbsp=%qbsp% -usehulls
  205. goto qbsp_test
  206. :qbsp_proj
  207. echo %qbsp% |find "-proj"
  208. if errorlevel 1 goto qbsperr_multopt
  209. shift
  210. set qbsp=%qbsp% -proj %1
  211. goto qbsp_test
  212. :qbsperr_multopt
  213. echo.
  214. echo     Only set options once! Otherwise, they'll (you guessed it) smeg up!!
  215. echo.
  216. goto end
  217. :qbsperr_set
  218. echo.
  219. echo You've already SET qbsp! Only issue commands once, otherwise they'll smeg up.
  220. echo.
  221. goto end
  222. :qbsperr_off
  223. echo.
  224. echo             You've already turned OFF qbsp! Make up your mind...  ;)
  225. echo.
  226. goto end
  227.  
  228. :compile
  229. set compiled=yes
  230. if not "%qbsp%"=="off" qbsp %qbsp% %1
  231. if not "%light%"=="off" light %light% %1
  232. if not "%vis%"=="off" vis %vis% %1
  233. shift
  234. goto start
  235.  
  236. :end
  237. set qbsp=>>nul
  238. set light=>>nul
  239. set vis=>>nul
  240. set qu=>>nul
  241. set lu=>>nul
  242. set vu=>>nul
  243. set vl=>>nul
  244. set vs=>>nul
  245. set ll=>>nul
  246. set ls=>>nul
  247. set l=>>nul
  248. set s=>>nul
  249. set compiled=>>nul
  250.